﻿<!--#include virtual="/conn.inc"-->
<!-- #include file="zfpay_common.asp" -->
<%


	Dim sValue
	Dim returns
	dim rs_Code
	dim TrxId
	dim MerId
	dim Orderid
	dim Amt
	dim cardNo
	dim FrpId
	dim hmac
	dim hyid,ext,rs,sql,nid

	'取得支付返回数据中的参数
	getCallBackValue rs_Code,MerId,TrxId,Orderid,Amt,cardNo,FrpId,hmac
	

	' 判断返回签名是否正确（True/False）
	returns = CheckHmac(rs_Code,MerId,TrxId,Orderid,Amt,cardNo,FrpId,hmac)
	' 以上代码和变量不需要修改.

	If returns Then
		If (CStr(rs_Code) = "1") then
		'支付成功回写Y，其它字符不要回写
			Response.Write("Y")
			'在此修改数据库记录为支付成功
				hyid=0
				ext=3007
 				set rs=Server.CreateObject("Adodb.Recordset")
				sql="select * FROM [qingtian_jilu] where [ext]=3007 and [Order]='"&Orderid&"'"
  				rs.open sql,conn,1,3

				if not (rs.eof and rs.bof) then
				ext=1
				nid=rs("nid")
				rs("ext")=1
				rs("zftime")=now
				rs.update
				end if
				rs.close

				if ext=1 then


				sql="select money FROM [qingtian_user] where id="&nid&""
  				rs.open sql,conn,1,3
				if not (rs.eof and rs.bof) then
				rs("money")=csng(rs("money")) + csng(Amt)
				rs.update
				end if
				rs.close


				end if

				set rs=nothing


		Else

		'支付失败回写N，其它字符不要回写
			Response.Write("N")
			'在此修改数据库记录为支付失败
 				set rs=Server.CreateObject("Adodb.Recordset")
				sql="select * FROM [qingtian_jilu] where [Order]='"&Orderid&"'"
  				rs.open sql,conn,1,3
				if not (rs.eof and rs.bof) then
				rs("ext")=rs_Code
				rs.update
				end if
				rs.close
				set rs=nothing
		End If
	Else
		'交易信息被篡改,支付失败回写N，其它字符不要回写
		Response.Write("N")
	End If




%>